package paq_negocio;

import com.sun.rowset.CachedRowSetImpl;
import paq_entidades.*;
import paq_sentencias.Ejecutarsql;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import paq_clase_interfaz.interfaz_modulo;

@Stateless
public class neg_modulo implements interfaz_modulo {

    List l1 = null;
    enti_variables v = new enti_variables();
    CachedRowSetImpl crs = null;
    String msm = "";
    enti_modulo entidad = new enti_modulo();
    enti_programa_postgrado pro = new enti_programa_postgrado();
    Ejecutarsql ejec = new Ejecutarsql();

    @Override
    public void insertar(String nombre, Integer numerocred, String tipo, String pp_codigo) {
        entidad.setCreditos(numerocred);
        entidad.setNombre(nombre);
        entidad.setTipo(tipo);
        pro.setCodigo(pp_codigo);
        String sql = "insert into modulo (mod_codigo,mod_nombre,mod_numerocreditos,mod_descripcion,pp_codigo) values(concat('modu',modul.NextVal),'" + entidad.getNombre() + "','" + entidad.getCreditos() + "','" + entidad.getTipo() + "','" + pro.getCodigo() + "')";
        ejec.ejecutar2(sql);

    }

    @Override
    public void eliminar(String al_codigo) {
        entidad.setCodigo(al_codigo);
        String sql = "delete from  modulo where mod_codigo='" + entidad.getCodigo() + "'";

        ejec.ejecutar2(sql);

    }

    @Override
    public void actualizar(String al_codigo, String nombre, Integer numerocred, String tipo, String pp_codigo) {
        entidad.setCodigo(al_codigo);
        entidad.setCreditos(numerocred);
        entidad.setNombre(nombre);
        entidad.setTipo(tipo);
        pro.setCodigo(pp_codigo);
        String sql = "update modulo set mod_nombre='" + entidad.getNombre() + "',mod_numerocreditos='" + entidad.getCreditos() + "',mod_descripcion='" + entidad.getTipo() + "',pp_codigo='" + pro.codigo + "' where mod_codigo='" + entidad.getCodigo() + "'  ";
        ejec.ejecutar2(sql);

    }

    @Override
    public CachedRowSetImpl getLista() {
        try {
            //ResultSet tablat = null;
            crs = (CachedRowSetImpl) ejec.rellena2("select * from modulo order by mod_codigo desc");
        } catch (Exception ex) {
            Logger.getLogger(neg_modulo.class.getName()).log(Level.SEVERE, null, ex);
        }
        return crs;
    }

    @Override
    public CachedRowSetImpl getListacombomodulo() {
        try {
            crs = (CachedRowSetImpl) ejec.rellena2("select * from modulo");
        } catch (Exception ex) {
            Logger.getLogger(neg_modulo.class.getName()).log(Level.SEVERE, null, ex);
        }
        return crs;
    }

    @Override
    public CachedRowSetImpl getListaactuaaliza(String cod) {
        try {
            crs = (CachedRowSetImpl) ejec.rellena2("select * from MODULO modu, PROGRAMA_POSTGRADO pro where pro.PP_CODIGO=modu.PP_CODIGO and pro.PP_CODIGO='" + cod + "'");
        } catch (Exception ex) {
            Logger.getLogger(neg_modulo.class.getName()).log(Level.SEVERE, null, ex);
        }
        return crs;
    }

    @Override
    public CachedRowSetImpl getListacombomoduloporpromocion(String cod) {
        try {
            v.crs = (CachedRowSetImpl) ejec.rellena2("select modu.MOD_CODIGO,modu.MOD_NOMBRE,modu.MOD_NUMEROCREDITOS from PROMOCION pr, PROGRAMA_POSTGRADO prog,MODULO modu where modu.PP_CODIGO=prog.PP_CODIGO and prog.PP_CODIGO=pr.PP_CODIGO and pr.PROM_CODIGO='" + cod + "'");
        } catch (Exception ex) {
            Logger.getLogger(neg_modulo.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v.crs;
    }
}
